Skip to content

chore(deps): bump badger to v4.9.3 and ristretto to v2.4.1#9771

Open
matthewmcneely wants to merge 7 commits into
mainfrom
chore/update-badger-ristretto
Open

chore(deps): bump badger to v4.9.3 and ristretto to v2.4.1#9771
matthewmcneely wants to merge 7 commits into
mainfrom
chore/update-badger-ristretto

Conversation

@matthewmcneely

Copy link
Copy Markdown
Contributor

What

Bumps two Dgraph-owned storage dependencies to their latest releases:

  • github.com/dgraph-io/badger/v4: v4.9.2v4.9.3
  • github.com/dgraph-io/ristretto/v2: v2.4.0v2.4.1

Why

Keep the embedded KV store and cache current with upstream fixes.

Testing

  • go mod tidy is clean.
  • Core packages that consume these deps build: ./dgraph/..., ./posting/..., ./worker/..., ./raftwal/....

🤖 Generated with Claude Code

@matthewmcneely matthewmcneely requested a review from a team as a code owner July 6, 2026 21:20
Update dependencies to their latest releases.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@matthewmcneely matthewmcneely force-pushed the chore/update-badger-ristretto branch from a7e5501 to bf40f4b Compare July 6, 2026 21:21
@blacksmith-sh

This comment has been minimized.

matthewmcneely and others added 2 commits July 7, 2026 14:45
Use the fix/dropprefix-drops-acknowledged-writes branch
(github.com/dgraph-io/badger@83d7d79) to rerun CI against the fix for the
#2308 regression, where DropPrefix/DropAll error accepted pending writes
instead of waiting for room under flushChan backpressure.

Temporary: repoint to a released badger tag once the fix lands.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…rors

WaitForRestore's first poll loop returned on any AlphasHealth error except
"draining mode", so a single transient health blip under load — an i/o
timeout, a refused connection, or a momentary quorum loss — failed the whole
restore wait (and the test's require.NoError turned it fatal). This is a
frequent flake in TestIncrementalRestore and TestNamespaceAwareRestore.

Retry through transient connectivity errors instead of bailing, bound the
loop so it can't spin forever, and apply the same tolerance to the log-poll
loop. Correctness is preserved: the log loop still confirms the restore
actually completed before returning success.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@blacksmith-sh

This comment has been minimized.

TestNamespaceAwareRestore queried the restored count once, immediately after
WaitForRestore. On a multi-group cluster the queried replica can be one Raft
apply behind for a brief window, so the single-shot assert intermittently saw
an off-by-one (e.g. count 100 vs 101) even though the restore completed
cleanly on every alpha.

Poll the count until it converges to the expected value (bounded ~60s) via a
requireEventualJSON helper. This is not masking: if the data never converges
(a genuine restore data loss), the final CompareJSON still fails.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@blacksmith-sh

This comment has been minimized.

matthewmcneely and others added 3 commits July 7, 2026 16:22
Runs only TestIncrementalRestore (x8) and TestNamespaceAwareRestoreOnMultipleGroups
(x4) on Linux, isolated from the full integration2 suite, to validate the Badger
v4.9.3 + #2308-fix bump without the whole-suite OOM / zero-quorum-loss noise.

Temporary — remove before merging.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Validation complete: restore correctness confirmed on the Badger v4.9.3 + #2308
fix (incremental 8/8; zero data-correctness failures). The namespace-multigroup
flakiness was shown to be pre-existing infra (slow-disk raft quorum loss) via a
v4.9.2 baseline, independent of the bump.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Badger main now has the drop-drain fix merged (#2313) plus a new compactor fix
(#2278, previously-deleted data reappearing). Point go.mod at main HEAD
(bcef113) to revalidate restore against the merged code. Pulls ristretto v2.4.2
transitively (required by badger main).

Restores the temporary isolation workflow to rerun the restore tests in
isolation. Temporary — remove before merge; repoint to a released tag once cut.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant